/**
 * <p>The IRI interface provides a common base for a set of feed and 
 * entry elements whose content value must be a valid IRI/IRI reference.  
 * These include the elements atom:icon, atom:logo, and atom:id.</p>
 */		
public interface IRIElement extends Element {  
	  /**
	   * Returns the value of the element as a java.net.IRI
	   * @return The IRI value of this element 
	   */
	  IRI getValue();
	  
	  /**
	   * Sets the value of the element
	   * @param iri The iri value
	   * @throws IRISyntaxException  if the value is malformed
	   */
	  IRIElement setValue(String iri);
	  
	  /**
	   * Set the value of this element using the normalization as specified in RFC4287
	   * @param iri A non-normalized IRI
	   * @throws IRISyntaxException if the iri is malformed
	   */
	  IRIElement setNormalizedValue(String iri);
	  
	  /**
	   * Returns the value of the element resolved against the current
	   * in-scope Base IRI
	   * @return The resolved IRI value
	   */
	  IRI getResolvedValue();			
}
